from django.db import models

# Create One2Many models here.
"""
1对多就是 1：N
用户类型：用户  = 1：N
一个用户类型，可以有多个用户，
一个用户只属于一个用户类型。
"""


# 用户类型
class UserType(models.Model):
    name = models.CharField(max_length=32)


class User(models.Model):
    name = models.CharField(max_length=32)
    age = models.IntegerField(default=18)
    # 外键
    # user_type = models.ForeignKey(UserType, on_delete=models.CASCADE)  # 级联模式删除
    user_type = models.ForeignKey(UserType, on_delete=models.PROTECT)    # 保护模式无法删除
    # user_type = models.ForeignKey(UserType, on_delete=models.SET_NULL, null=True)    # 置空模式，必须要设置null=True
    # user_type = models.ForeignKey(UserType, on_delete=models.SET_DEFAULT, default=1)    # 置为默认值，必须要设置default
    # user_type = models.ForeignKey(UserType, on_delete=models.DO_NOTHING)    # 什么都不做会报错，这种模式不建议使用
    # related_name 关联名称，设置反向查找的名称，原本使用是‘模型名称小写_set’
    # user_type = models.ForeignKey(UserType, on_delete=models.PROTECT, related_name='users')
